<?php

namespace Drinkiit\BlogBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

use Drinkiit\BlogBundle\Entity\Article ;
use Drinkiit\BlogBundle\Entity\Produit ;

class MemberStatistiquesController extends Controller
{
	
	public function em($objet) {
		return $this->getDoctrine()->getEntityManager()->getRepository($objet) ;
	}
	
	public function indexAction()
    {
		$user = $this->get('security.context')->getToken()->getUser() ; //récupération du membre enregistré
		
		$liste_commande = $this->em('DrinkiitBlogBundle:Commande')->findBy( array('utilisateur_commande' => $user->getId())) ; //récupération de la liste des commandes du membre
			
		$i=0 ; //itérateur
		
		$liste_produit = array() ; // liste des produits consommés
		
		$liste_quantite = array() ; //liste des quantités de produits consommés
		
		$liste_tmp = array() ; //liste temporaire de stockage
		
		foreach($liste_commande as $commande) {
			
			$liste_tmp = $commande->getArticleCommande() ; //récupération de la liste des articles_commandés de la commande
			
			foreach($liste_tmp as $article_commande) {
				
				$x = array_search($article_commande->getTypeArticle()->getProduit(), $liste_produit) ; //position du produit dans $liste_produit s'il est dedans
				
				if(in_array($article_commande->getTypeArticle()->getProduit(), $liste_produit)){ //test pour savoir si le produit est déjà présent dans la liste, retourne un bool
					$liste_quantite[$x] += $article_commande->getTypeArticle()->getQuantite() ; //on update la quantité de ce produit
				} else {
					$liste_produit[$i] = $article_commande->getTypeArticle()->getProduit() ; //on ajoute ce produit à $liste_produit
					$liste_quantite[$i] = $article_commande->getTypeArticle()->getQuantite() ; //on ajoute sa quantité à $liste_quantite
					$i++ ; //on incrémente
				}
			}
		}
		
		$this->get('logger')->info("[INFO] Page de membre stats on affiche ".count($liste_produit)." produits et leurs quantités") ;
        return $this->render('DrinkiitBlogBundle:Member:Statistiques.html.twig', array(
			'titre' => 'Drinkiit -- vous souhaite la bienvenue !!!',
			'liste_produit' => $liste_produit,
			'liste_quantite' => $liste_quantite,
		));
    }
    
}
